learning by trial and error